package com.ecube.maintenance.biz.apis;

import com.ecube.maintenance.biz.commons.ICCallBack;
import com.ecube.maintenance.pojos.BaseInfo;
import com.ecube.maintenance.pojos.UserInfo;

/**
 * Created by Trible Chen on 2014/9/3.
 */
public interface IUserAction {

    /**
     * 用户登录前需要提供手机号码，提交请求，会通过短
     信的方式下发随机密码到用户的手机上，以备用户登
     录
     * @param mobile 手机号码
     * @param callBack
     */
    void fetchValidCode(String mobile , ICCallBack callBack);

    /**
     * 用户手机获取随机密码后，连带手机号码及随机密码
     提交进行登录验证。
     * @param mobile 手机号码
     * @param key 随机密码
     * @param callBack
     */
    void login(String mobile,String key,ICCallBack<UserInfo> callBack);


    /**
     * 用户主动退出系统接口调用主要是为了记录用户退出
     的日志
     * @param sid 服务端生成的唯一 id
     * @param callBack
     */
    void logout(String sid , ICCallBack callBack);

    /**
     * 用来维护姓名以及车牌号码、车辆品牌、车厂、车
     系、车型的资料更新
     * @param newInfo must have realName,carNO,carBrad,carFactory
     *             carSerial,carMode fields
     * @param callBack
     */
    void update(UserInfo newInfo,ICCallBack callBack);

    /**
     * 获取车主信息
     * @param sid 服务端生成的唯一 ID
     * @param callBack
     */
    void fetchUserInfo(String sid,ICCallBack<UserInfo> callBack);
}
